package com.luobr.backend.model.dto.image;

import cn.hutool.json.JSONUtil;
import com.luobr.backend.model.entity.Image;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.util.List;

/**
 * 图片更新（仅限于管理员权限）
 */
@Data
public class ImageUpdateRequest implements Serializable {

    // 图片 id
    private Long id;  

    // 图片名称
    private String name;

    // 简介
    private String introduction;  

    // 分类
    private String category;  

    // 标签
    private List<String> tags;

    // 空间 id
    private Long spaceId;

    // 序列号
    private static final long serialVersionUID = -3811238631592373200L;

    /**
     * 请求类转化成图片实体
     *
     * @param imageUpdateRequest 请求封装类
     * @return 图片信息
     */
    public static Image dtoToObj(ImageUpdateRequest imageUpdateRequest) {
        // 校验参数
        if (imageUpdateRequest == null) {
            return null;
        }
        // 赋值
        Image image = new Image();
        BeanUtils.copyProperties(imageUpdateRequest, image);
        // 类型不同，需要转换
        image.setTags(JSONUtil.toJsonStr(imageUpdateRequest.getTags()));
        return image;
    }
}